1. Field of the Invention
The present invention is directed generally to a bus system and method thereof, and more particularly to a bus system including an efficient bandwidth and method thereof.
2. Description of the Related Art
A conventional system-on-chip (SOC) may include a plurality of integrated circuit chips in a single chip board. Conventional SOCs may include time-to-market as a factor during development. Intellectual property (IP) cores may be reused (i.e., recycled) in order to reduce the time-to-market for conventional SOCs. The reuse of the IP cores may also improve the reliability of new SOC devices since the IP cores selected for reuse may come from functioning SOCs and there is a high probability that the reused IP core will operate correctly.
A bus system may be selected for a SOC to provide communication (i.e., data transfers) between IP cores within the SOC. A conventional bus system may include an advance high-performance bus (AHB) system which may be based on an advanced microcontroller bus architecture (AMBA). A silicon backplane (SB) micro-network may also be included in the bus system. The SB micro-network may be based on an open core protocol (OCP). Since the bus system may include both OCP and AMBA, there may exist a requirement within the bus system to translate between protocols (e.g., between OCP and AMBA and vice versa).
FIG. 1 illustrates a block diagram of a conventional AHB system 150.
Referring to FIG. 1, the AHB bus system 150 may include masters 100/102/104, slaves 120/122/124/126, an arbiter 110, a decoder 118, and multiplexers 112/114/118.
The masters 100/102/104 may request bus occupation (i.e., bus control or bus bandwidth on which to transfer data) from the arbiter 110 in order to read or write data to or from the slaves 120/122/124/126. The arbiter 110 may grant the bus occupation to a single one of the masters 100/102/104 in response to the bus request based on priorities among the masters 100/102/104 and which master occupies the bus at the time of the request. A master which is granted bus occupation (i.e., a bus master) may read or write data with one of the slaves 120/122/124/126. Once designated as the bus master, the bus master may transfer data on the bus until its data transfer is completed. While the bus master transfers data on the bus, there may exist a queue of masters in a standby state (i.e., masters which have requested bus occupation).
Another conventional OCP bus system may function differently than the above-described AHB bus system 150 of FIG. 1. While the AHB system may include a bus master which may control the bus until its data transfer is completed, the OCP bus system may only allow the bus master to control the bus until data transfer is completed during a read operation (i.e., not during a write operation). Thus, when a bus master generates a write command in a conventional OCP bus system, a read command for data is first transferred (i.e., in order to acquire data associated with the write command) and the master may transfer bus control to a new master (i.e., a master with the highest priority on the standby queue). Also, data transferred in response to a read command may be sent to the master (i.e., the master which generated the read command) through an agent. Thus, the conventional OCP bus system may be more efficient than the conventional AHB bus system (e.g., AHB bus system 150 of FIG. 1).
FIG. 2 illustrates a block diagram of a conventional SB micro-network 250 including an OCP bus system.
Referring to FIG. 2, the SB micro-network 250 may include masters 202/204/206, protocol transformers 208/210/212, agents 214/216/218 and an SB bus 200.
Referring to FIG. 2 the masters 202/204/206 may be designed based on the AMBA protocol which may be associated with the AHB system. The masters 202/204/206 may be connected to protocol transformers 208/210/212, respectively, in order to perform a conversion to and from the AMBA protocol and the OCP. The protocol transformers 208/210/212 may be connected to a SB bus 200 through agents 214/216/218 which may be included within a SB micro-network. The agents 214/216/218 may be connected to each other through the SB bus 200, thereby allowing data transfer between the masters 202/204/206. The agents 214/216/218 may transfer a read command to slaves (not shown) from the masters 202/204/206, and data may be transferred from the slaves to the masters 202/204/206 in response to the read command.
Each of the masters 202/204/206 may be connected to the SB bus 200 through the agents 214/216/218, and the number of the masters may limit a clock frequency of the SB bus 200.
A conventional SOC may include a plurality of masters and slaves. If each of the plurality of masters and slaves (i.e., IP cores) are connected to a bus (e.g., SB bus 200), the clock frequency of the bus may be degraded. Further, a number of agents (e.g. agents 214/216/218) attached to the bus (e.g., SB bus 200) may increase the physical size of the bus.
Conventional methods of solving the above-described problems may include grouping a plurality of masters into several blocks as sub-systems (i.e., grouping masters performing similar functions) with the sub-systems connected to the bus. Thus, a number of connections to the bus may be reduced since each group of masters may include only a single connection to the bus, and not an individual bus connection for each master. However, the above-described solution requires arbitration within the bus groups, since only one master within the bus groups may be connected through the group to the bus at a given time.
FIG. 3 illustrates a block diagram of another conventional bus system 350.
Referring to FIG. 3, the bus system 350 may be based on the AMBA protocol in an AHB system 310, and may include an OCP SB bus 300 accessed through an agent 302.
The AHB system 310 may include masters 312/314/316, an arbiter 318 and a protocol transformer 320. The arbiter 318 may control bus connections for the masters 312/314/316. The protocol transformer 318 may convert protocol (e.g., from AMBA to OCP and vice versa) for a master (e.g., master 312/314/316) which may be selected by the arbiter 318 and may connect the selected master to the SB bus 300 through the agent 302. The masters 312/314/316 may be based on the AMBA protocol. The arbiter 318 may permit the selected master to occupy the bus (i.e., become the bus master) until data transfer is complete (i.e., for either a write and/or read command). The conventional methods of bus arbitration including a plurality of protocols may be incapable of transferring control of the bus (e.g., SB bus 300) to a new bus master before a data operation of a bus master is complete. In other words, a separation of the command phase (i.e., requesting a data transfer) and the response phase (i.e., receiving data from a read command and/or for sending data to be written) may not be possible. Thus, the advantage of separation (e.g., as included in conventional systems using OCP without a protocol conversion) may not be possible in systems including a protocol conversion. Thus, when a plurality of masters attempt to occupy the bus (i.e., become bus masters), a latency time (i.e., a response time) for requests from the masters may be increased, resulting in a degradation (i.e., loss of efficiency) in the conventional bus system.